def Menu():
	#!/usr/bin/env python
	# -*- coding: utf-8 -*-

	import pygame, os, sys
	from pygame.locals import *
	from Estrutura import *
	from Funcoes import *
	from Mapas import *

	pygame.init()

	#### Audio ####
	carrega_musica(menu, opcoes)
	sobre_opcao = carrega_som("sobre_opcao.wav")
	atualizar_volume_sons(sobre_opcao)
	escolhe_opcao = carrega_som("escolhe_opcao.wav")
	atualizar_volume_sons(escolhe_opcao)

	som1, som2, som3, som4, som5, som6 = False, False, False, False, False, False
	som2_1, som2_2, som2_3, som2_4, som2_5, som2_6 = False, False, False, False, False, False


	#### Configuracao da tela ####
	tela, fundo = config_tela(opcoes, tela, menu)


	#### Imagens das opcoes ####
	iniciar_botao, iniciar_ativo, iniciar_tamanho, iniciar_posicao = imagens_menu("iniciar", (99, 305), 3)
	ajuda_botao, ajuda_ativo, ajuda_tamanho, ajuda_posicao = imagens_menu("ajuda", (102, 345), 3)
	records_botao, records_ativo, records_tamanho, records_posicao = imagens_menu("records", (106, 385), 3)
	opcoes_botao, opcoes_ativo, opcoes_tamanho, opcoes_posicao = imagens_menu("opcao", (107, 425), 3)
	sair_botao, sair_ativo, sair_tamanho, sair_posicao = imagens_menu("sair", (105, 465), 3)
	creditos_botao, creditos_ativo, creditos_tamanho, creditos_posicao = imagens_menu("creditos", (739, 495), 2)


	ativar_tela = None
	clicou_outra = False
	creditos_on = False
	opcoes_pressionado = False
	jogo_on = False

	while True:
		evento_sair()
		
		mouse_posicao = pygame.mouse.get_pos()
		mouse_clique = pygame.mouse.get_pressed()
		

		#### Efeitos ####
		
		# Iniciar Jogo
		if iniciar_posicao[0] <= mouse_posicao[0] <= iniciar_posicao[0] + iniciar_tamanho[0]\
		   and iniciar_posicao[1] <= mouse_posicao[1] <= iniciar_posicao[1] + iniciar_tamanho[1]: 

			iniciar_ativo = iniciar_botao[1]
			som1 = ativa_som(sobre_opcao, som1)

			if mouse_clique[0]:
				iniciar_ativo = iniciar_botao[2]
				som2_1 = ativa_som(escolhe_opcao, som2_1)
				estado['reinicia_jogo'] = False
				return True
				
		else: 
			iniciar_ativo = iniciar_botao[0]
			som1 = False
			som2_1 = False
			

		# Ajuda
		if ajuda_posicao[0] <= mouse_posicao[0] <= ajuda_posicao[0] + ajuda_tamanho[0]\
		   and ajuda_posicao[1] <= mouse_posicao[1] <= ajuda_posicao[1] + ajuda_tamanho[1]:

			ajuda_ativo = ajuda_botao[1]
			som2 = ativa_som(sobre_opcao, som2)

			if mouse_clique[0]:
				ajuda_ativo = ajuda_botao[2]
				som2_2 = ativa_som(escolhe_opcao, som2_2)
				ativar_tela = "ajuda"
				tela_ajuda = True
				clicou_outra = False
				
		else:
			ajuda_ativo = ajuda_botao[0]
			som2 = False
			som2_2 = False
		
		
		# Records
		if records_posicao[0] <= mouse_posicao[0] <= records_posicao[0] + records_tamanho[0]\
		   and records_posicao[1] <= mouse_posicao[1] <= records_posicao[1] + records_tamanho[1]:

			records_ativo = records_botao[1]
			som3 = ativa_som(sobre_opcao, som3)

			if mouse_clique[0]:
				records_ativo = records_botao[2]
				som2_3 = ativa_som(escolhe_opcao, som2_3)
				ativar_tela = "records"
				tela_records = True
				clicou_outra = False

		else:
			records_ativo = records_botao[0]
			som3 = False
			som2_3 = False

		
		# Opcoes
		if opcoes_posicao[0] <= mouse_posicao[0] <= opcoes_posicao[0] + opcoes_tamanho[0]\
		   and opcoes_posicao[1] <= mouse_posicao[1] <= opcoes_posicao[1] + opcoes_tamanho[1]:

			opcoes_ativo = opcoes_botao[1]
			som4 = ativa_som(sobre_opcao, som4)

			if mouse_clique[0]:
				opcoes_ativo = opcoes_botao[2]
				som2_4 = ativa_som(escolhe_opcao, som2_4)
				ativar_tela = "opcoes"
				tela_opcoes = True
				clicou_outra = False

		else:
			opcoes_ativo = opcoes_botao[0]
			som4 = False
			som2_4 = False


		# Sair
		if sair_posicao[0] <= mouse_posicao[0] <= sair_posicao[0] + sair_tamanho[0]\
		   and sair_posicao[1] <= mouse_posicao[1] <= sair_posicao[1] + sair_tamanho[1]:

			sair_ativo = sair_botao[1]
			som5 = ativa_som(sobre_opcao, som5)

			if mouse_clique[0]:
				sair_ativo = sair_botao[2]
				som2_5 = ativa_som(escolhe_opcao, som2_5)
				ativar_tela = "sair"
				tela_sair = True
				clicou_outra = False

		else:
			sair_ativo = sair_botao[0]
			som5 = False
			som2_5 = False


		# Creditos
		if creditos_posicao[0] <= mouse_posicao[0] <= creditos_posicao[0] + creditos_tamanho[0]\
		   and creditos_posicao[1] <= mouse_posicao[1] <= creditos_posicao[1] + creditos_tamanho[1]:

			creditos_ativo = creditos_botao[1]
			som6 = ativa_som(sobre_opcao, som6)

			if mouse_clique[0]:
				som2_6 = ativa_som(escolhe_opcao, som2_6)
				ativar_tela = "creditos"
				tela_creditos = True
				clicou_outra = False

		else:
			creditos_ativo = creditos_botao[0]
			som6 = False
			som2_6 = False
		
				
		#### [IFs] Tratando o 2 menu - Aparecer/Desaparecer####

		tela.blit(fundo, (0,0))
		tela.blit(iniciar_ativo, iniciar_posicao)
		

		tela.blit(ajuda_ativo, ajuda_posicao)
		if ativar_tela == "ajuda":
			if tela_ajuda and clicou_outra == False:
				tela2_menu("fundo_ajuda.png", tela)
				clicou_outra = False
			

		tela.blit(records_ativo, records_posicao)
		if ativar_tela == "records":
			if tela_records and clicou_outra == False:
				tela2_menu("fundo_records.png", tela)
				menu_records(tela)

			
		tela.blit(opcoes_ativo, opcoes_posicao)
			
		if ativar_tela == "opcoes":
			if tela_opcoes and clicou_outra == False:
				tela2_menu("fundo_opcoes.png", tela)
				blit_texto(20, 'Tela cheia', (0,0,0), (360,400), tela)
				blit_texto(20, 'Volume da musica', (0,0,0), (360,450), tela)
				blit_texto(12, 'Pressione + ou - para alterar', (5,5,5), (360,470), tela)
				
				box_botao, box_ativo, box_tamanho, box_posicao = imagens_menu("box", (490,403), 3)
				
				if box_posicao[0] <= mouse_posicao[0] <= box_posicao[0] + box_tamanho[0]\
				   and box_posicao[1] <= mouse_posicao[1] <= box_posicao[1] + box_tamanho[1]: 
							
						if mouse_clique[0]:
							opcoes_pressionado = True
				
				if opcoes['tela'] == pygame.FULLSCREEN:
					box_ativo = box_botao[2]
					if opcoes_pressionado:
						box_ativo = box_botao[0]
						opcoes['tela'] = 0
						tela = pygame.display.set_mode((800,600), opcoes['tela'])
						opcoes_pressionado = False
						
				elif opcoes['tela'] == 0:
					box_ativo = box_botao[0]
					if opcoes_pressionado:
						box_ativo = box_botao[2]
						opcoes['tela'] = pygame.FULLSCREEN
						tela = pygame.display.set_mode((800,600), opcoes['tela'])
						opcoes_pressionado = False
						
				tela.blit(box_ativo, box_posicao)
				
				
				vol_botao, vol_ativo, vol_tamanho, vol_posicao = imagens_menu("volume", (400,503), 5)
				vol_ativo = atualiza_volume(vol_botao)
				
				
				for event in pygame.event.get():
					if event.type == pygame.QUIT: exit()
					if event.type == pygame.KEYDOWN:
							if event.key == pygame.K_MINUS or event.key == pygame.K_KP_MINUS:
								if 0.2 <= opcoes['volume'] <= 0.9:
									print opcoes['volume']
									opcoes['volume'] -= 0.1
									vol_ativo = atualiza_volume(vol_botao)
									pygame.mixer.music.set_volume(opcoes['volume'])
									atualizar_volume_sons(sobre_opcao)
									atualizar_volume_sons(escolhe_opcao)
									print opcoes['volume']
							if event.key == pygame.K_PLUS or event.key == pygame.K_KP_PLUS:
								if 0.1 <= opcoes['volume'] < 0.8:
									print opcoes['volume']
									opcoes['volume'] += 0.1
									vol_ativo = atualiza_volume(vol_botao)
									pygame.mixer.music.set_volume(opcoes['volume'])
									atualizar_volume_sons(sobre_opcao)
									atualizar_volume_sons(escolhe_opcao)
									
			tela.blit(vol_ativo, vol_posicao)
				
								
		tela.blit(sair_ativo, sair_posicao)
		if ativar_tela == "sair":
			if tela_sair and clicou_outra == False:
				sys.exit()
							

		tela.blit(creditos_ativo, creditos_posicao)
		if ativar_tela == "creditos":
			if tela_creditos and clicou_outra == False:
				clicou_outra = False
				if creditos_on == False:
					tela.blit(carrega_image("creditos.jpg"), (0,0))
					blit_texto(15, 'Pressione Enter para voltar ao Menu', (255,255,255), (245,508), tela)
					for event in pygame.event.get():
						if event.type == pygame.QUIT:
							sys.exit()
						if event.type == pygame.KEYDOWN:
							if event.key == pygame.K_KP_ENTER or event.key == pygame.K_RETURN:
								creditos_on = True
								ativar_tela = None
							else: creditos_on = False
		if ativar_tela != "creditos":
			creditos_on = False
					
		
		cursor_mouse("redcursor.png", tela)
		
		pygame.display.flip()
